package com.cls.business.strategy;

import cn.hutool.poi.excel.ExcelWriter;
import com.cls.business.vo.review.result.DeclTopicVO;
import com.cls.business.vo.review.result.ExpertGroupVO;
import com.cls.business.vo.review.result.ReviewResultExportVO;
import org.apache.poi.ss.usermodel.CellStyle;

import java.util.LinkedList;

/**
 * 自定义导出的行的实现方法
 */
public interface ExpertExcel8ReviewRowStrategy {

    /**
     * 写excel的总标题
     * @param excelWriter
     * @param headMergeSize
     */
    void writeExcleTile(ExcelWriter excelWriter, int headMergeSize,String title);

    /**
     * 写第一个课题的标题
     * @param excelWriter
     * @param headMergeSize
     * @param reviewResultExportVO
     */
    void writeTopicHead(ExcelWriter excelWriter, int headMergeSize, ReviewResultExportVO reviewResultExportVO);


    /**
     * 写出到每一行申请
     * @param writer
     * @param declTopics
     * @param reviewResultIndex
     * @param expertSize
     */
    void writeDeclTopic(ExcelWriter writer, LinkedList<DeclTopicVO> declTopics, int reviewResultIndex, int expertSize);


    /**
     * 写专家分组第二行标题
     * @param reviewResultExportVO 当前的课题
     * @param expertGroupVO 专家分组
     * @param expertGropsIndex 当前的index
     * @param headMergeSize 合并几列
     */
    void writeExpertGroupTitle(ExcelWriter writer, ReviewResultExportVO reviewResultExportVO, ExpertGroupVO expertGroupVO, int expertGropsIndex, int headMergeSize, CellStyle expertGroupTitleCellStyle);


}
